Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Image Build/Push CI #875

Merged
merged 17 commits into from
Sep 22, 2022
Merged

Image Build/Push CI #875

merged 17 commits into from
Sep 22, 2022

Conversation

aGuttman
Copy link
Contributor

Creates a GitHub actions workflow to automatically build and push new docker images on commits to master, gis-based-mode-detection and join_redirect_to_static.

Images are named after the repo and tagged with their branch and a timestamp. Requires DOCKER_USER and DOCKER_PASSWORD environment variable secrets to be set the push the image to dockerhub.

Adapts the Dockerfile along with clone_sever.sh and start_script.sh from e-mission/e-mission-docker for use inside the server repo.

@aGuttman
Copy link
Contributor Author

Intended to close e-mission/e-mission-docs#752.

Copy link
Contributor

@shankari shankari left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@aGuttman Three high level comments:

  • I understand that the dockerfile needs to be in the root directory for the scripts to work, but let us please not put the other scripts there.
    • instead we should put them into ./setup or ./setup/docker or ./docker
    • Putting files into the root directory of the repo should be avoided unless we have no alternative.
  • When do you plan to remove the corresponding files from the e-mission-docker repo? Having duplicate files just confuses people downstream.
  • Please indicate "testing done"

docker_supp.sh Outdated Show resolved Hide resolved
docker_supp.sh Outdated Show resolved Hide resolved
.github/workflows/image_build_push.yml Outdated Show resolved Hide resolved
@aGuttman
Copy link
Contributor Author

aGuttman commented Sep 7, 2022

I thought I would wait until this PR is accepted to remove the files from the docker repo. I guess I can make a PR removing then ahead of time though.

@shankari
Copy link
Contributor

shankari commented Sep 7, 2022

I thought I would wait until this PR is accepted to remove the files from the docker repo. I guess I can make a PR removing then ahead of time though.

I just asked when you would remove the dependency. OK to remove them later, but I would suggest creating a cleanup issue so we can track pending issues and they are not just dropped.

Some reorganization to address PR comments. No logic changes.
shankari added a commit to shankari/em-public-dashboard that referenced this pull request Sep 7, 2022
…ronments

In both:
- use the `dev-only` image and clone from Andrew's repo
    - this is the workaround for
      e-mission#53 until
      e-mission/e-mission-server#875 is merged

In the dev files:
- force a version for the http server
- build the viz_scripts image instead of using a pinned image
    - This subsumes e-mission#53
- Since the context is now `viz_scripts` and not `viz_scripts/docker` to
  maintain consistency with the prod server, change the paths to the various files

In the prod files:
- Remove the mounted code directories
- Change the dockerfiles to copy files into the image

Testing done: This builds, but DOES NOT WORK
Checking this in temporarily so that we can highlight the fix when we do get it to work

```
Building notebook-server
[+] Building 865.9s (20/20) FINISHED
 => [internal] load build definition from Dockerfile                                                                                                                         0.0s
 => => transferring dockerfile: 973B                                                                                                                                         0.0s
 => [internal] load .dockerignore                                                                                                                                            0.1s
 => => transferring context: 2B                                                                                                                                              0.0s
 => [internal] load metadata for docker.io/emission/e-mission-server.dev.server-only:4.0.0                                                                                   0.0s
 => CACHED [1/8] FROM docker.io/emission/e-mission-server.dev.server-only:4.0.0                                                                                              0.0s
 => [internal] load build context                                                                                                                                            0.1s
 => => transferring context: 112.46kB                                                                                                                                        0.0s
 => CACHED [ 2/15] ADD docker/environment36.dashboard.additions.yml /                                                                                                        0.0s
 => CACHED [ 3/15] RUN bash -c "/clone_server.sh"                                                                                                                            0.0s
 => CACHED [ 4/15] RUN /bin/bash -c "cd e-mission-server && source setup/activate.sh && conda env update --name emission --file setup/environment36.notebook.additions.yml"  0.0s
 => CACHED [ 5/15] RUN /bin/bash -c "cd e-mission-server && source setup/activate.sh && conda env update --name emission --file /environment36.dashboard.additions.yml"      0.0s
 => [ 6/15] RUN mkdir -p /usr/src/app/saved-notebooks                                                                                                                        0.4s
 => [ 7/15] WORKDIR /usr/src/app/saved-notebooks                                                                                                                             0.0s
 => [ 8/15] COPY auxiliary_files .                                                                                                                                           0.0s
 => [ 9/15] COPY bin .                                                                                                                                                       0.1s
 => [10/15] COPY conf .                                                                                                                                                      0.1s
 => [11/15] COPY *.ipynb .                                                                                                                                                   0.1s
 => [12/15] COPY *.py .                                                                                                                                                      0.1s
 => [13/15] ADD docker/start_notebook.sh /usr/src/app/start_notebook.sh                                                                                                      0.0s
 => [14/15] RUN chmod u+x /usr/src/app/start_notebook.sh                                                                                                                     0.5s
 => [15/15] ADD docker/crontab /usr/src/app/crontab                                                                                                                          0.1s
 => exporting to image                                                                                                                                                      35.9s
 => => exporting layers                                                                                                                                                     35.9s
 => => writing image sha256:61830a6f2563e657350d435c6c512f32f31c0c6e1cc13a9ad5a9bc3b57d66360                                                                                 0.0s
 => => naming to docker.io/em-pub-dash-prod/viz-scripts                                                                                                                      0.0s
Building dashboard
[+] Building 2.9s (10/10) FINISHED
```

```
notebook-server_1  | /usr/src/app/e-mission-server /usr/src/app/saved-notebooks
notebook-server_1  | DB host = db
notebook-server_1  | cp: cannot stat 'e-mission-server/conf/storage/db.conf': No such file or directory
notebook-server_1  | Web host = 0.0.0.0
notebook-server_1  | /usr/src/app/saved-notebooks
notebook-server_1  | cat: saved-notebooks/conf/storage/db.conf: No such file or directory
notebook-server_1  | /usr/src/app/start_notebook.sh: line 27: pushd: e-mission-server: No such file or directory
notebook-server_1  | /usr/src/app/start_notebook.sh: line 29: setup/setup.sh: No such file or directory
```
@shankari
Copy link
Contributor

shankari commented Sep 7, 2022

@aGuttman I still need to see the resolution to the conf issue and the testing on the multi-tier-cronjob example before I can merge.

@aGuttman
Copy link
Contributor Author

Images are named after the repo and tagged with their branch and a timestamp. Requires DOCKER_USER and DOCKER_PASSWORD environment variable secrets to be set the push the image to dockerhub.

This is done for the repo in settings>secrets>actions. There should a "repository secrets" box where you create and enter the values for DOCKER_USER and DOCKER_PASSWORD.

@shankari
Copy link
Contributor

shankari commented Sep 12, 2022

Also, @aGuttman is publishing the images in dockerhub, not in the GitHub container repo, so this is not true.

Presumably we will also need to refer to the new images differently since they are no longer published on dockerhub

@shankari
Copy link
Contributor

@aGuttman I have approved these changes in accordance with our discussion today.

Before I merge, I would like:

  • to get feedback from cloud services on their recommendation around dockerhub vs. GitHub containers. Even if they say that they want to use GitHub containers, I will probably just merge and deal with it as part of the cleanup issue, but I want to know the answer
  • to see the testing done wrt using this with the multi-tier cronjob and confirming that the final containers do have the overwritten configuration.

@aGuttman
Copy link
Contributor Author

From Jianli

Github Container Registry is a new player in the area, I haven't heard any project in cloud team is using it, but would like to double check with the team and see how it's around. I'll let you know if any update.

@shankari
Copy link
Contributor

@aGuttman ok so I am going to wait for a couple of days to see if we hear from cloud services, otherwise, I will merge and we can deal with the registry selection as part of the cleanup issue.

For reference, the reason that we may want to not use dockerhub is that:
https://www.docker.com/blog/scaling-dockers-business-to-serve-millions-more-developers-storage/

With this new policy, starting on November 1, images stored in free Docker Hub repositories that have not had their manifest pushed or pulled in the last 6 months will be removed. This policy does not apply to images stored by paid Docker Hub subscription accounts, Docker Verified Publishers , or Docker Official Images.

This may not be an issue since hopefully we will change the server at least once every 6 months. But we might also want to see if there in a NREL paid version of docker that we can use to push instead of the e-mission account.

@shankari
Copy link
Contributor

@aGuttman would be good if you could do the testing in the next couple of days so we are ready to merge.

to see the testing done wrt using this with the multi-tier cronjob and confirming that the final containers do have the overwritten configuration.

Can you outline your testing plan here?

@shankari
Copy link
Contributor

Proposed testing plan:

  • Change the FROM emission/e-mission-server.dev.server-only:4.0.0 in the webapp and analysis Dockerfiles to be from an image that you built using the new process. Note that changing it to ``FROM emission/e-mission-server:4.0.0` is NOT sufficient because it will not have been built using the new process.
    • Rebuild
    • Ensure that the webapp actually starts up
    • Ensure that the conf in webapp and analysis is actually overridden

In terms of expectations, I would like to see the steps that you did. So

Changed to FROM aguttman/.....
Ran docker-compose -f docker-compose.yml up
Went to http:.... and saw (screenshot) ...

@aGuttman
Copy link
Contributor Author

Having trouble with the cron job test. webapp is able to use the new image, updated scripts, but analysis is giving me problems. I'm going to have to run to a doctor's appointment in a minute, but I want to dig into it tonight. For some reason the line devcron ../crontab >> /var/log/cron.console.stdinout 2>&1 in e-mission-docker/examples/em-server-multi-tier-cronjob/analysis/start_cron.sh exits the script with code 127.

@shankari
Copy link
Contributor

in general, while debugging docker images, you want to run a different command tail -f /dev/null before the long-running command starts, so that the container does not exit
e.g. https://github.com/e-mission/em-public-dashboard/blob/main/viz_scripts/docker/start_notebook.sh#L36

and then "ssh" into the container using

$ docker exec -it <container> /bin/bash

and then run commands manually to figure out what is going on and how you need to change the start script.

@aGuttman
Copy link
Contributor Author

For e-mission-docker/examples/em-server-multi-tier-cronjob

  • Changed webapp and analysis Dcokerfiles to use FROM agutt/e-mission-server:ceo_ebike_project_2022-09-19--45-23
  • Changed start_script.sh in webapp and start_cron.sh in analysis to use the renamed and relocated supplemental docker scripts .docker/setup_config.sh and .docker/docker_start_script.sh where needed. Made additional small adjustments to start_cron.sh to account for directory structure.
  • Ran docker compose up
  • Accessed webpage on localhost:80

Screen Shot 2022-09-20 at 6 36 31 PM

Changes to `webapp` and `analysis` files Screen Shot 2022-09-20 at 6 30 45 PM Screen Shot 2022-09-20 at 6 31 44 PM
Using freshly built images, not cached ones Screen Shot 2022-09-20 at 6 39 32 PM
Output of `docker compose up`, looks pretty clean to me
(base) aguttman-36193s:em-server-multi-tier-cronjob aguttman$ docker compose up
[+] Building 1.2s (15/15) FINISHED                                              
 => [em-server-multi-tier-cronjob_analysis-server internal] load build de  0.0s
 => => transferring dockerfile: 79B                                        0.0s
 => [em-server-multi-tier-cronjob_web-server internal] load build definit  0.0s
 => => transferring dockerfile: 79B                                        0.0s
 => [em-server-multi-tier-cronjob_analysis-server internal] load .dockeri  0.0s
 => => transferring context: 2B                                            0.0s
 => [em-server-multi-tier-cronjob_web-server internal] load .dockerignore  0.0s
 => => transferring context: 2B                                            0.0s
 => [em-server-multi-tier-cronjob_web-server internal] load metadata for   1.0s
 => [auth] agutt/e-mission-server:pull token for registry-1.docker.io      0.0s
 => [em-server-multi-tier-cronjob_analysis-server internal] load build co  0.0s
 => => transferring context: 1.33kB                                        0.0s
 => [em-server-multi-tier-cronjob_web-server internal] load build context  0.0s
 => => transferring context: 790B                                          0.0s
 => [em-server-multi-tier-cronjob_analysis-server 1/4] FROM docker.io/agu  0.0s
 => CACHED [em-server-multi-tier-cronjob_analysis-server 2/4] COPY conf /  0.0s
 => CACHED [em-server-multi-tier-cronjob_analysis-server 3/4] COPY cronta  0.0s
 => CACHED [em-server-multi-tier-cronjob_web-server 2/3] COPY conf /conf   0.0s
 => [em-server-multi-tier-cronjob_analysis-server 4/4] COPY start_cron.sh  0.0s
 => [em-server-multi-tier-cronjob_web-server 3/3] COPY start_script.sh /u  0.0s
 => [em-server-multi-tier-cronjob_web-server] exporting to image           0.0s
 => => exporting layers                                                    0.0s
 => => writing image sha256:e84b63492c078fd117f37eb9c7bf36801b088928a9d66  0.0s
 => => naming to docker.io/library/em-server-multi-tier-cronjob_analysis-  0.0s
 => => writing image sha256:c8c9a2a25448a0682a1b0baf1874949891d7dfab1730c  0.0s
 => => naming to docker.io/library/em-server-multi-tier-cronjob_web-serve  0.0s

Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them
[+] Running 4/4
 ⠿ Network em-server-multi-tier-cronjob_emission             Created       0.0s
 ⠿ Container em-server-multi-tier-cronjob-db-1               Created       0.0s
 ⠿ Container em-server-multi-tier-cronjob-analysis-server-1  Created       0.0s
 ⠿ Container em-server-multi-tier-cronjob-web-server-1       Created       0.0s
Attaching to em-server-multi-tier-cronjob-analysis-server-1, em-server-multi-tier-cronjob-db-1, em-server-multi-tier-cronjob-web-server-1
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:17.215+00:00"},"s":"I",  "c":"CONTROL",  "id":23285,   "ctx":"main","msg":"Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'"}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:17.218+00:00"},"s":"W",  "c":"ASIO",     "id":22601,   "ctx":"main","msg":"No TransportLayer configured during NetworkInterface startup"}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:17.218+00:00"},"s":"I",  "c":"NETWORK",  "id":4648601, "ctx":"main","msg":"Implicit TCP FastOpen unavailable. If TCP FastOpen is required, set tcpFastOpenServer, tcpFastOpenClient, and tcpFastOpenQueueSize."}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:17.220+00:00"},"s":"I",  "c":"STORAGE",  "id":4615611, "ctx":"initandlisten","msg":"MongoDB starting","attr":{"pid":1,"port":27017,"dbPath":"/data/db","architecture":"64-bit","host":"49ba423814d4"}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:17.220+00:00"},"s":"I",  "c":"CONTROL",  "id":23403,   "ctx":"initandlisten","msg":"Build Info","attr":{"buildInfo":{"version":"4.4.0","gitVersion":"563487e100c4215e2dce98d0af2a6a5a2d67c5cf","openSSLVersion":"OpenSSL 1.1.1  11 Sep 2018","modules":[],"allocator":"tcmalloc","environment":{"distmod":"ubuntu1804","distarch":"x86_64","target_arch":"x86_64"}}}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:17.220+00:00"},"s":"I",  "c":"CONTROL",  "id":51765,   "ctx":"initandlisten","msg":"Operating System","attr":{"os":{"name":"Ubuntu","version":"18.04"}}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:17.220+00:00"},"s":"I",  "c":"CONTROL",  "id":21951,   "ctx":"initandlisten","msg":"Options set by command line","attr":{"options":{"net":{"bindIp":"*"}}}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:17.222+00:00"},"s":"I",  "c":"STORAGE",  "id":22270,   "ctx":"initandlisten","msg":"Storage engine to use detected by data files","attr":{"dbpath":"/data/db","storageEngine":"wiredTiger"}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:17.222+00:00"},"s":"I",  "c":"STORAGE",  "id":22297,   "ctx":"initandlisten","msg":"Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem","tags":["startupWarnings"]}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:17.222+00:00"},"s":"I",  "c":"STORAGE",  "id":22315,   "ctx":"initandlisten","msg":"Opening WiredTiger","attr":{"config":"create,cache_size=3417M,session_max=33000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000,close_scan_interval=10,close_handle_minimum=250),statistics_log=(wait=0),verbose=[recovery_progress,checkpoint_progress,compact_progress],"}}
em-server-multi-tier-cronjob-analysis-server-1  | About to start conda update, this may take some time...
em-server-multi-tier-cronjob-analysis-server-1  | Installing for version 4.8.3 and platform Linux-x86_64
em-server-multi-tier-cronjob-analysis-server-1  |   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
em-server-multi-tier-cronjob-analysis-server-1  |                                  Dload  Upload   Total   Spent    Left  Speed
em-server-multi-tier-cronjob-web-server-1       | About to start conda update, this may take some time...
em-server-multi-tier-cronjob-web-server-1       | Installing for version 4.8.3 and platform Linux-x86_64
em-server-multi-tier-cronjob-web-server-1       |   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
em-server-multi-tier-cronjob-web-server-1       |                                  Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:17.697+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1663720457:697394][1:0x7f25deb6ca80], txn-recover: [WT_VERB_RECOVERY_PROGRESS] Recovering log 29 through 30"}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:17.747+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1663720457:747076][1:0x7f25deb6ca80], txn-recover: [WT_VERB_RECOVERY_PROGRESS] Recovering log 30 through 30"}}
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:17.815+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1663720457:815566][1:0x7f25deb6ca80], txn-recover: [WT_VERB_RECOVERY | WT_VERB_RECOVERY_PROGRESS] Main recovery loop: starting at 29/47232 to 30/256"}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:17.890+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1663720457:890741][1:0x7f25deb6ca80], txn-recover: [WT_VERB_RECOVERY_PROGRESS] Recovering log 29 through 30"}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:17.944+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1663720457:944402][1:0x7f25deb6ca80], txn-recover: [WT_VERB_RECOVERY_PROGRESS] Recovering log 30 through 30"}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:17.980+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1663720457:980627][1:0x7f25deb6ca80], txn-recover: [WT_VERB_RECOVERY | WT_VERB_RECOVERY_PROGRESS] Set global recovery timestamp: (0, 0)"}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:17.985+00:00"},"s":"I",  "c":"STORAGE",  "id":4795906, "ctx":"initandlisten","msg":"WiredTiger opened","attr":{"durationMillis":763}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:17.985+00:00"},"s":"I",  "c":"RECOVERY", "id":23987,   "ctx":"initandlisten","msg":"WiredTiger recoveryTimestamp","attr":{"recoveryTimestamp":{"$timestamp":{"t":0,"i":0}}}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:17.989+00:00"},"s":"I",  "c":"STORAGE",  "id":22262,   "ctx":"initandlisten","msg":"Timestamp monitor starting"}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:17.990+00:00"},"s":"W",  "c":"CONTROL",  "id":22120,   "ctx":"initandlisten","msg":"Access control is not enabled for the database. Read and write access to data and configuration is unrestricted","tags":["startupWarnings"]}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:18.013+00:00"},"s":"I",  "c":"STORAGE",  "id":20536,   "ctx":"initandlisten","msg":"Flow Control is enabled on this deployment"}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:18.015+00:00"},"s":"I",  "c":"FTDC",     "id":20625,   "ctx":"initandlisten","msg":"Initializing full-time diagnostic data capture","attr":{"dataDirectory":"/data/db/diagnostic.data"}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:18.017+00:00"},"s":"I",  "c":"NETWORK",  "id":23015,   "ctx":"listener","msg":"Listening on","attr":{"address":"/tmp/mongodb-27017.sock"}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:18.017+00:00"},"s":"I",  "c":"NETWORK",  "id":23015,   "ctx":"listener","msg":"Listening on","attr":{"address":"0.0.0.0"}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:34:18.017+00:00"},"s":"I",  "c":"NETWORK",  "id":23016,   "ctx":"listener","msg":"Waiting for connections","attr":{"port":27017,"ssl":"off"}}
100 88.7M  100 88.7M    0     0  4548k      0  0:00:19  0:00:19 --:--:-- 5365k
em-server-multi-tier-cronjob-web-server-1       | ERROR: File or directory already exists: '/root/miniconda-4.8.3'
em-server-multi-tier-cronjob-web-server-1       | If you want to update an existing installation, use the -u option.
em-server-multi-tier-cronjob-web-server-1       | 
em-server-multi-tier-cronjob-web-server-1       |      active environment : None
em-server-multi-tier-cronjob-web-server-1       |             shell level : 0
em-server-multi-tier-cronjob-web-server-1       |        user config file : /root/.condarc
em-server-multi-tier-cronjob-web-server-1       |  populated config files : /root/.condarc
em-server-multi-tier-cronjob-web-server-1       |           conda version : 4.8.3
em-server-multi-tier-cronjob-web-server-1       |     conda-build version : not installed
em-server-multi-tier-cronjob-web-server-1       |          python version : 3.8.3.final.0
em-server-multi-tier-cronjob-web-server-1       |        virtual packages : __glibc=2.31
em-server-multi-tier-cronjob-web-server-1       |        base environment : /root/miniconda-4.8.3  (writable)
em-server-multi-tier-cronjob-web-server-1       |            channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
em-server-multi-tier-cronjob-web-server-1       |                           https://repo.anaconda.com/pkgs/main/noarch
em-server-multi-tier-cronjob-web-server-1       |                           https://repo.anaconda.com/pkgs/r/linux-64
em-server-multi-tier-cronjob-web-server-1       |                           https://repo.anaconda.com/pkgs/r/noarch
em-server-multi-tier-cronjob-web-server-1       |           package cache : /root/miniconda-4.8.3/pkgs
em-server-multi-tier-cronjob-web-server-1       |                           /root/.conda/pkgs
em-server-multi-tier-cronjob-web-server-1       |        envs directories : /root/miniconda-4.8.3/envs
em-server-multi-tier-cronjob-web-server-1       |                           /root/.conda/envs
em-server-multi-tier-cronjob-web-server-1       |                platform : linux-64
em-server-multi-tier-cronjob-web-server-1       |              user-agent : conda/4.8.3 requests/2.23.0 CPython/3.8.3 Linux/5.10.104-linuxkit ubuntu/20.04.5 glibc/2.31
em-server-multi-tier-cronjob-web-server-1       |                 UID:GID : 0:0
em-server-multi-tier-cronjob-web-server-1       |              netrc file : None
em-server-multi-tier-cronjob-web-server-1       |            offline mode : False
em-server-multi-tier-cronjob-web-server-1       | 
em-server-multi-tier-cronjob-web-server-1       | # conda environments:
em-server-multi-tier-cronjob-web-server-1       | #
em-server-multi-tier-cronjob-web-server-1       | base                  *  /root/miniconda-4.8.3
em-server-multi-tier-cronjob-web-server-1       | emission                 /root/miniconda-4.8.3/envs/emission
em-server-multi-tier-cronjob-web-server-1       | 
em-server-multi-tier-cronjob-web-server-1       | sys.version: 3.8.3 (default, May 19 2020, 18:47:26) 
em-server-multi-tier-cronjob-web-server-1       | ...
em-server-multi-tier-cronjob-web-server-1       | sys.prefix: /root/miniconda-4.8.3
em-server-multi-tier-cronjob-web-server-1       | sys.executable: /root/miniconda-4.8.3/bin/python
em-server-multi-tier-cronjob-web-server-1       | conda location: /root/miniconda-4.8.3/lib/python3.8/site-packages/conda
em-server-multi-tier-cronjob-web-server-1       | conda-build: None
em-server-multi-tier-cronjob-web-server-1       | conda-env: /root/miniconda-4.8.3/bin/conda-env
em-server-multi-tier-cronjob-web-server-1       | user site dirs: 
em-server-multi-tier-cronjob-web-server-1       | 
em-server-multi-tier-cronjob-web-server-1       | CIO_TEST: <not set>
em-server-multi-tier-cronjob-web-server-1       | CONDA_EXE: /root/miniconda-4.8.3/bin/conda
em-server-multi-tier-cronjob-web-server-1       | CONDA_PYTHON_EXE: /root/miniconda-4.8.3/bin/python
em-server-multi-tier-cronjob-web-server-1       | CONDA_ROOT: /root/miniconda-4.8.3
em-server-multi-tier-cronjob-web-server-1       | CONDA_SHLVL: 0
em-server-multi-tier-cronjob-web-server-1       | PATH: /root/miniconda-4.8.3/bin:/root/miniconda-4.8.3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
em-server-multi-tier-cronjob-web-server-1       | REQUESTS_CA_BUNDLE: <not set>
em-server-multi-tier-cronjob-web-server-1       | SSL_CERT_FILE: <not set>
em-server-multi-tier-cronjob-web-server-1       | 
em-server-multi-tier-cronjob-web-server-1       | Successfully installed at /root/miniconda-4.8.3. Please activate with 'source setup/activateXXX.sh' in every terminal where you want to use conda
em-server-multi-tier-cronjob-web-server-1       | For conda, found 4.8.3, expected 4.8.3, all is good!
em-server-multi-tier-cronjob-web-server-1       | Installing using conda now
100 88.7M  100 88.7M    0     0  2501k      0  0:00:36  0:00:36 --:--:-- 5647k
em-server-multi-tier-cronjob-analysis-server-1  | ERROR: File or directory already exists: '/root/miniconda-4.8.3'
em-server-multi-tier-cronjob-analysis-server-1  | If you want to update an existing installation, use the -u option.
em-server-multi-tier-cronjob-analysis-server-1  | 
em-server-multi-tier-cronjob-analysis-server-1  |      active environment : None
em-server-multi-tier-cronjob-analysis-server-1  |             shell level : 0
em-server-multi-tier-cronjob-analysis-server-1  |        user config file : /root/.condarc
em-server-multi-tier-cronjob-analysis-server-1  |  populated config files : /root/.condarc
em-server-multi-tier-cronjob-analysis-server-1  |           conda version : 4.8.3
em-server-multi-tier-cronjob-analysis-server-1  |     conda-build version : not installed
em-server-multi-tier-cronjob-analysis-server-1  |          python version : 3.8.3.final.0
em-server-multi-tier-cronjob-analysis-server-1  |        virtual packages : __glibc=2.31
em-server-multi-tier-cronjob-analysis-server-1  |        base environment : /root/miniconda-4.8.3  (writable)
em-server-multi-tier-cronjob-analysis-server-1  |            channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
em-server-multi-tier-cronjob-analysis-server-1  |                           https://repo.anaconda.com/pkgs/main/noarch
em-server-multi-tier-cronjob-analysis-server-1  |                           https://repo.anaconda.com/pkgs/r/linux-64
em-server-multi-tier-cronjob-analysis-server-1  |                           https://repo.anaconda.com/pkgs/r/noarch
em-server-multi-tier-cronjob-analysis-server-1  |           package cache : /root/miniconda-4.8.3/pkgs
em-server-multi-tier-cronjob-analysis-server-1  |                           /root/.conda/pkgs
em-server-multi-tier-cronjob-analysis-server-1  |        envs directories : /root/miniconda-4.8.3/envs
em-server-multi-tier-cronjob-analysis-server-1  |                           /root/.conda/envs
em-server-multi-tier-cronjob-analysis-server-1  |                platform : linux-64
em-server-multi-tier-cronjob-analysis-server-1  |              user-agent : conda/4.8.3 requests/2.23.0 CPython/3.8.3 Linux/5.10.104-linuxkit ubuntu/20.04.5 glibc/2.31
em-server-multi-tier-cronjob-analysis-server-1  |                 UID:GID : 0:0
em-server-multi-tier-cronjob-analysis-server-1  |              netrc file : None
em-server-multi-tier-cronjob-analysis-server-1  |            offline mode : False
em-server-multi-tier-cronjob-analysis-server-1  | 
em-server-multi-tier-cronjob-analysis-server-1  | # conda environments:
em-server-multi-tier-cronjob-analysis-server-1  | #
em-server-multi-tier-cronjob-analysis-server-1  | base                  *  /root/miniconda-4.8.3
em-server-multi-tier-cronjob-analysis-server-1  | emission                 /root/miniconda-4.8.3/envs/emission
em-server-multi-tier-cronjob-analysis-server-1  | 
em-server-multi-tier-cronjob-analysis-server-1  | sys.version: 3.8.3 (default, May 19 2020, 18:47:26) 
em-server-multi-tier-cronjob-analysis-server-1  | ...
em-server-multi-tier-cronjob-analysis-server-1  | sys.prefix: /root/miniconda-4.8.3
em-server-multi-tier-cronjob-analysis-server-1  | sys.executable: /root/miniconda-4.8.3/bin/python
em-server-multi-tier-cronjob-analysis-server-1  | conda location: /root/miniconda-4.8.3/lib/python3.8/site-packages/conda
em-server-multi-tier-cronjob-analysis-server-1  | conda-build: None
em-server-multi-tier-cronjob-analysis-server-1  | conda-env: /root/miniconda-4.8.3/bin/conda-env
em-server-multi-tier-cronjob-analysis-server-1  | user site dirs: 
em-server-multi-tier-cronjob-analysis-server-1  | 
em-server-multi-tier-cronjob-analysis-server-1  | CIO_TEST: <not set>
em-server-multi-tier-cronjob-analysis-server-1  | CONDA_EXE: /root/miniconda-4.8.3/bin/conda
em-server-multi-tier-cronjob-analysis-server-1  | CONDA_PYTHON_EXE: /root/miniconda-4.8.3/bin/python
em-server-multi-tier-cronjob-analysis-server-1  | CONDA_ROOT: /root/miniconda-4.8.3
em-server-multi-tier-cronjob-analysis-server-1  | CONDA_SHLVL: 0
em-server-multi-tier-cronjob-analysis-server-1  | PATH: /root/miniconda-4.8.3/bin:/root/miniconda-4.8.3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
em-server-multi-tier-cronjob-analysis-server-1  | REQUESTS_CA_BUNDLE: <not set>
em-server-multi-tier-cronjob-analysis-server-1  | SSL_CERT_FILE: <not set>
em-server-multi-tier-cronjob-analysis-server-1  | 
em-server-multi-tier-cronjob-analysis-server-1  | Successfully installed at /root/miniconda-4.8.3. Please activate with 'source setup/activateXXX.sh' in every terminal where you want to use conda
em-server-multi-tier-cronjob-analysis-server-1  | For conda, found 4.8.3, expected 4.8.3, all is good!
em-server-multi-tier-cronjob-analysis-server-1  | Installing using conda now
em-server-multi-tier-cronjob-web-server-1       | Collecting package metadata (repodata.json): ...working... done
em-server-multi-tier-cronjob-web-server-1       | Solving environment: ...working... done
em-server-multi-tier-cronjob-analysis-server-1  | Collecting package metadata (repodata.json): ...working... done
em-server-multi-tier-cronjob-web-server-1       | 
em-server-multi-tier-cronjob-web-server-1       | 
em-server-multi-tier-cronjob-web-server-1       | ==> WARNING: A newer version of conda exists. <==
em-server-multi-tier-cronjob-web-server-1       |   current version: 4.8.3
em-server-multi-tier-cronjob-web-server-1       |   latest version: 4.14.0
em-server-multi-tier-cronjob-web-server-1       | 
em-server-multi-tier-cronjob-web-server-1       | Please update conda by running
em-server-multi-tier-cronjob-web-server-1       | 
em-server-multi-tier-cronjob-web-server-1       |     $ conda update -n base -c defaults conda
em-server-multi-tier-cronjob-web-server-1       | 
em-server-multi-tier-cronjob-web-server-1       | 
em-server-multi-tier-cronjob-web-server-1       | Ran pip subprocess with arguments:
em-server-multi-tier-cronjob-web-server-1       | ['/root/miniconda-4.8.3/envs/emission/bin/python', '-m', 'pip', 'install', '-U', '-r', '/usr/src/app/setup/condaenv.p8ewy0p4.requirements.txt']
em-server-multi-tier-cronjob-web-server-1       | Pip subprocess output:
em-server-multi-tier-cronjob-web-server-1       | Requirement already up-to-date: jwcrypto==0.7 in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from -r /usr/src/app/setup/condaenv.p8ewy0p4.requirements.txt (line 1)) (0.7)
em-server-multi-tier-cronjob-web-server-1       | Requirement already up-to-date: pyfcm==1.4.7 in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from -r /usr/src/app/setup/condaenv.p8ewy0p4.requirements.txt (line 2)) (1.4.7)
em-server-multi-tier-cronjob-web-server-1       | Requirement already up-to-date: pygeocoder==1.2.5 in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from -r /usr/src/app/setup/condaenv.p8ewy0p4.requirements.txt (line 3)) (1.2.5)
em-server-multi-tier-cronjob-web-server-1       | Requirement already up-to-date: pymongo==3.11.0 in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from -r /usr/src/app/setup/condaenv.p8ewy0p4.requirements.txt (line 4)) (3.11.0)
em-server-multi-tier-cronjob-web-server-1       | Requirement already up-to-date: pykov==0.1 in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from -r /usr/src/app/setup/condaenv.p8ewy0p4.requirements.txt (line 5)) (0.1)
em-server-multi-tier-cronjob-web-server-1       | Requirement already satisfied, skipping upgrade: cryptography>=1.5 in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from jwcrypto==0.7->-r /usr/src/app/setup/condaenv.p8ewy0p4.requirements.txt (line 1)) (37.0.4)
em-server-multi-tier-cronjob-web-server-1       | Requirement already satisfied, skipping upgrade: requests in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from pyfcm==1.4.7->-r /usr/src/app/setup/condaenv.p8ewy0p4.requirements.txt (line 2)) (2.24.0)
em-server-multi-tier-cronjob-web-server-1       | Requirement already satisfied, skipping upgrade: cffi>=1.12 in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from cryptography>=1.5->jwcrypto==0.7->-r /usr/src/app/setup/condaenv.p8ewy0p4.requirements.txt (line 1)) (1.15.1)
em-server-multi-tier-cronjob-web-server-1       | Requirement already satisfied, skipping upgrade: idna<3,>=2.5 in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from requests->pyfcm==1.4.7->-r /usr/src/app/setup/condaenv.p8ewy0p4.requirements.txt (line 2)) (2.10)
em-server-multi-tier-cronjob-web-server-1       | Requirement already satisfied, skipping upgrade: certifi>=2017.4.17 in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from requests->pyfcm==1.4.7->-r /usr/src/app/setup/condaenv.p8ewy0p4.requirements.txt (line 2)) (2022.9.14)
em-server-multi-tier-cronjob-web-server-1       | Requirement already satisfied, skipping upgrade: chardet<4,>=3.0.2 in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from requests->pyfcm==1.4.7->-r /usr/src/app/setup/condaenv.p8ewy0p4.requirements.txt (line 2)) (3.0.4)
em-server-multi-tier-cronjob-web-server-1       | Requirement already satisfied, skipping upgrade: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from requests->pyfcm==1.4.7->-r /usr/src/app/setup/condaenv.p8ewy0p4.requirements.txt (line 2)) (1.25.11)
em-server-multi-tier-cronjob-web-server-1       | Requirement already satisfied, skipping upgrade: pycparser in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from cffi>=1.12->cryptography>=1.5->jwcrypto==0.7->-r /usr/src/app/setup/condaenv.p8ewy0p4.requirements.txt (line 1)) (2.21)
em-server-multi-tier-cronjob-web-server-1       | 
em-server-multi-tier-cronjob-web-server-1       | #
em-server-multi-tier-cronjob-web-server-1       | # To activate this environment, use
em-server-multi-tier-cronjob-web-server-1       | #
em-server-multi-tier-cronjob-web-server-1       | #     $ conda activate emission
em-server-multi-tier-cronjob-web-server-1       | #
em-server-multi-tier-cronjob-web-server-1       | # To deactivate an active environment, use
em-server-multi-tier-cronjob-web-server-1       | #
em-server-multi-tier-cronjob-web-server-1       | #     $ conda deactivate
em-server-multi-tier-cronjob-web-server-1       | 
em-server-multi-tier-cronjob-web-server-1       | Cache location: 
em-server-multi-tier-cronjob-web-server-1       | There are no tarballs to remove
em-server-multi-tier-cronjob-web-server-1       | WARNING: /root/.conda/pkgs does not exist
em-server-multi-tier-cronjob-web-server-1       | Cache location: 
em-server-multi-tier-cronjob-web-server-1       | There are no unused packages to remove
em-server-multi-tier-cronjob-web-server-1       | cp: cannot stat '/index.html': No such file or directory
em-server-multi-tier-cronjob-web-server-1       | Found configuration, overriding...
em-server-multi-tier-cronjob-web-server-1       | Live reload disabled, 
em-server-multi-tier-cronjob-web-server-1       | db
em-server-multi-tier-cronjob-web-server-1       | {
em-server-multi-tier-cronjob-web-server-1       |     "timeseries": {
em-server-multi-tier-cronjob-web-server-1       |         "url": "db",
em-server-multi-tier-cronjob-web-server-1       |         "result_limit": 250000
em-server-multi-tier-cronjob-web-server-1       |     }
em-server-multi-tier-cronjob-web-server-1       | }
em-server-multi-tier-cronjob-web-server-1       | 0.0.0.0
em-server-multi-tier-cronjob-web-server-1       | {
em-server-multi-tier-cronjob-web-server-1       |   "paths" : {
em-server-multi-tier-cronjob-web-server-1       |     "static_path" : "webapp/www/",
em-server-multi-tier-cronjob-web-server-1       |     "python_path" : "main",
em-server-multi-tier-cronjob-web-server-1       |     "log_base_dir" : ".",
em-server-multi-tier-cronjob-web-server-1       |     "log_file" : "debug.log",
em-server-multi-tier-cronjob-web-server-1       |     "404_redirect": "https://www.nrel.gov/transportation/openpath.html"
em-server-multi-tier-cronjob-web-server-1       |   },
em-server-multi-tier-cronjob-web-server-1       |   "__comment" : "Fill this in for the production server. port will almost certainly be 80 or 443. For iOS, using 0.0.0.0 allows you to test without an internet connection. For AWS and android, make sure that the host 0.0.0.0, localhost does not seem to work",
em-server-multi-tier-cronjob-web-server-1       |   "server" : {
em-server-multi-tier-cronjob-web-server-1       |     "host" : "0.0.0.0",
em-server-multi-tier-cronjob-web-server-1       |     "port" : "8080",
em-server-multi-tier-cronjob-web-server-1       |     "__comment": "1 hour = 60 min = 60 * 60 sec",
em-server-multi-tier-cronjob-web-server-1       |     "timeout" : "3600",
em-server-multi-tier-cronjob-web-server-1       |     "auth": "skip",
em-server-multi-tier-cronjob-web-server-1       |     "__comment": "Options are no_auth, user_only, never",
em-server-multi-tier-cronjob-web-server-1       |     "aggregate_call_auth": "no_auth"
em-server-multi-tier-cronjob-web-server-1       |   }
em-server-multi-tier-cronjob-web-server-1       | }
em-server-multi-tier-cronjob-web-server-1       | Live reload disabled, 
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:35:41.800+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"connection accepted","attr":{"remote":"192.168.2.244:39190","sessionId":1,"connectionCount":1}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:35:41.801+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn1","msg":"client metadata","attr":{"remote":"192.168.2.244:39190","client":"conn1","doc":{"driver":{"name":"PyMongo","version":"3.11.0"},"os":{"type":"Linux","name":"Linux","architecture":"x86_64","version":"5.10.104-linuxkit"},"platform":"CPython 3.7.12.final.0"}}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:35:41.805+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"connection accepted","attr":{"remote":"192.168.2.244:39192","sessionId":2,"connectionCount":2}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:35:41.806+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn2","msg":"client metadata","attr":{"remote":"192.168.2.244:39192","client":"conn2","doc":{"driver":{"name":"PyMongo","version":"3.11.0"},"os":{"type":"Linux","name":"Linux","architecture":"x86_64","version":"5.10.104-linuxkit"},"platform":"CPython 3.7.12.final.0"}}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:35:42.107+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"connection accepted","attr":{"remote":"192.168.2.244:39194","sessionId":3,"connectionCount":3}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:35:42.108+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn3","msg":"client metadata","attr":{"remote":"192.168.2.244:39194","client":"conn3","doc":{"driver":{"name":"PyMongo","version":"3.11.0"},"os":{"type":"Linux","name":"Linux","architecture":"x86_64","version":"5.10.104-linuxkit"},"platform":"CPython 3.7.12.final.0"}}}
em-server-multi-tier-cronjob-analysis-server-1  | Solving environment: ...working... done
em-server-multi-tier-cronjob-analysis-server-1  | 
em-server-multi-tier-cronjob-analysis-server-1  | 
em-server-multi-tier-cronjob-analysis-server-1  | ==> WARNING: A newer version of conda exists. <==
em-server-multi-tier-cronjob-analysis-server-1  |   current version: 4.8.3
em-server-multi-tier-cronjob-analysis-server-1  |   latest version: 4.14.0
em-server-multi-tier-cronjob-analysis-server-1  | 
em-server-multi-tier-cronjob-analysis-server-1  | Please update conda by running
em-server-multi-tier-cronjob-analysis-server-1  | 
em-server-multi-tier-cronjob-analysis-server-1  |     $ conda update -n base -c defaults conda
em-server-multi-tier-cronjob-analysis-server-1  | 
em-server-multi-tier-cronjob-analysis-server-1  | 
em-server-multi-tier-cronjob-analysis-server-1  | Ran pip subprocess with arguments:
em-server-multi-tier-cronjob-analysis-server-1  | ['/root/miniconda-4.8.3/envs/emission/bin/python', '-m', 'pip', 'install', '-U', '-r', '/usr/src/app/setup/condaenv.la5m3ldd.requirements.txt']
em-server-multi-tier-cronjob-analysis-server-1  | Pip subprocess output:
em-server-multi-tier-cronjob-analysis-server-1  | Requirement already up-to-date: jwcrypto==0.7 in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from -r /usr/src/app/setup/condaenv.la5m3ldd.requirements.txt (line 1)) (0.7)
em-server-multi-tier-cronjob-analysis-server-1  | Requirement already up-to-date: pyfcm==1.4.7 in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from -r /usr/src/app/setup/condaenv.la5m3ldd.requirements.txt (line 2)) (1.4.7)
em-server-multi-tier-cronjob-analysis-server-1  | Requirement already up-to-date: pygeocoder==1.2.5 in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from -r /usr/src/app/setup/condaenv.la5m3ldd.requirements.txt (line 3)) (1.2.5)
em-server-multi-tier-cronjob-analysis-server-1  | Requirement already up-to-date: pymongo==3.11.0 in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from -r /usr/src/app/setup/condaenv.la5m3ldd.requirements.txt (line 4)) (3.11.0)
em-server-multi-tier-cronjob-analysis-server-1  | Requirement already up-to-date: pykov==0.1 in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from -r /usr/src/app/setup/condaenv.la5m3ldd.requirements.txt (line 5)) (0.1)
em-server-multi-tier-cronjob-analysis-server-1  | Requirement already satisfied, skipping upgrade: cryptography>=1.5 in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from jwcrypto==0.7->-r /usr/src/app/setup/condaenv.la5m3ldd.requirements.txt (line 1)) (37.0.4)
em-server-multi-tier-cronjob-analysis-server-1  | Requirement already satisfied, skipping upgrade: requests in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from pyfcm==1.4.7->-r /usr/src/app/setup/condaenv.la5m3ldd.requirements.txt (line 2)) (2.24.0)
em-server-multi-tier-cronjob-analysis-server-1  | Requirement already satisfied, skipping upgrade: cffi>=1.12 in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from cryptography>=1.5->jwcrypto==0.7->-r /usr/src/app/setup/condaenv.la5m3ldd.requirements.txt (line 1)) (1.15.1)
em-server-multi-tier-cronjob-analysis-server-1  | Requirement already satisfied, skipping upgrade: chardet<4,>=3.0.2 in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from requests->pyfcm==1.4.7->-r /usr/src/app/setup/condaenv.la5m3ldd.requirements.txt (line 2)) (3.0.4)
em-server-multi-tier-cronjob-analysis-server-1  | Requirement already satisfied, skipping upgrade: idna<3,>=2.5 in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from requests->pyfcm==1.4.7->-r /usr/src/app/setup/condaenv.la5m3ldd.requirements.txt (line 2)) (2.10)
em-server-multi-tier-cronjob-analysis-server-1  | Requirement already satisfied, skipping upgrade: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from requests->pyfcm==1.4.7->-r /usr/src/app/setup/condaenv.la5m3ldd.requirements.txt (line 2)) (1.25.11)
em-server-multi-tier-cronjob-analysis-server-1  | Requirement already satisfied, skipping upgrade: certifi>=2017.4.17 in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from requests->pyfcm==1.4.7->-r /usr/src/app/setup/condaenv.la5m3ldd.requirements.txt (line 2)) (2022.9.14)
em-server-multi-tier-cronjob-analysis-server-1  | Requirement already satisfied, skipping upgrade: pycparser in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from cffi>=1.12->cryptography>=1.5->jwcrypto==0.7->-r /usr/src/app/setup/condaenv.la5m3ldd.requirements.txt (line 1)) (2.21)
em-server-multi-tier-cronjob-analysis-server-1  | 
em-server-multi-tier-cronjob-analysis-server-1  | #
em-server-multi-tier-cronjob-analysis-server-1  | # To activate this environment, use
em-server-multi-tier-cronjob-analysis-server-1  | #
em-server-multi-tier-cronjob-analysis-server-1  | #     $ conda activate emission
em-server-multi-tier-cronjob-analysis-server-1  | #
em-server-multi-tier-cronjob-analysis-server-1  | # To deactivate an active environment, use
em-server-multi-tier-cronjob-analysis-server-1  | #
em-server-multi-tier-cronjob-analysis-server-1  | #     $ conda deactivate
em-server-multi-tier-cronjob-analysis-server-1  | 
em-server-multi-tier-cronjob-analysis-server-1  | Cache location: 
em-server-multi-tier-cronjob-analysis-server-1  | There are no tarballs to remove
em-server-multi-tier-cronjob-analysis-server-1  | WARNING: /root/.conda/pkgs does not exist
em-server-multi-tier-cronjob-analysis-server-1  | Cache location: 
em-server-multi-tier-cronjob-analysis-server-1  | There are no unused packages to remove
em-server-multi-tier-cronjob-analysis-server-1  | cp: cannot stat '/index.html': No such file or directory
em-server-multi-tier-cronjob-analysis-server-1  | Found configuration, overriding...
em-server-multi-tier-cronjob-analysis-server-1  | Live reload disabled, 
em-server-multi-tier-cronjob-analysis-server-1  | db
em-server-multi-tier-cronjob-analysis-server-1  | {
em-server-multi-tier-cronjob-analysis-server-1  |     "timeseries": {
em-server-multi-tier-cronjob-analysis-server-1  |         "url": "db",
em-server-multi-tier-cronjob-analysis-server-1  |         "result_limit": 250000
em-server-multi-tier-cronjob-analysis-server-1  |     }
em-server-multi-tier-cronjob-analysis-server-1  | }
em-server-multi-tier-cronjob-analysis-server-1  | Activating the environment...
em-server-multi-tier-cronjob-analysis-server-1  | Installing devcron...
em-server-multi-tier-cronjob-analysis-server-1  | Collecting devcron
em-server-multi-tier-cronjob-analysis-server-1  |   Downloading devcron-0.4-py2.py3-none-any.whl (9.2 kB)
em-server-multi-tier-cronjob-analysis-server-1  | Requirement already satisfied: six in /root/miniconda-4.8.3/envs/emission/lib/python3.7/site-packages (from devcron) (1.16.0)
em-server-multi-tier-cronjob-analysis-server-1  | Installing collected packages: devcron
em-server-multi-tier-cronjob-analysis-server-1  | Successfully installed devcron-0.4
em-server-multi-tier-cronjob-analysis-server-1  | Launch the cronjob
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:36:20.103+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"connection accepted","attr":{"remote":"192.168.2.244:39214","sessionId":4,"connectionCount":4}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:36:20.104+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn4","msg":"client metadata","attr":{"remote":"192.168.2.244:39214","client":"conn4","doc":{"driver":{"name":"PyMongo","version":"3.11.0"},"os":{"type":"Linux","name":"Linux","architecture":"x86_64","version":"5.10.104-linuxkit"},"platform":"CPython 3.7.12.final.0"}}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:36:20.113+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"connection accepted","attr":{"remote":"192.168.2.244:39216","sessionId":5,"connectionCount":5}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:36:20.113+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn5","msg":"client metadata","attr":{"remote":"192.168.2.244:39216","client":"conn5","doc":{"driver":{"name":"PyMongo","version":"3.11.0"},"os":{"type":"Linux","name":"Linux","architecture":"x86_64","version":"5.10.104-linuxkit"},"platform":"CPython 3.7.12.final.0"}}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:36:20.116+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"connection accepted","attr":{"remote":"192.168.2.244:39218","sessionId":6,"connectionCount":6}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:36:20.117+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn6","msg":"client metadata","attr":{"remote":"192.168.2.244:39218","client":"conn6","doc":{"driver":{"name":"PyMongo","version":"3.11.0"},"os":{"type":"Linux","name":"Linux","architecture":"x86_64","version":"5.10.104-linuxkit"},"platform":"CPython 3.7.12.final.0"}}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:36:20.122+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"connection accepted","attr":{"remote":"192.168.2.244:39220","sessionId":7,"connectionCount":7}}
em-server-multi-tier-cronjob-db-1               | {"t":{"$date":"2022-09-21T00:36:20.122+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn7","msg":"client metadata","attr":{"remote":"192.168.2.244:39220","client":"conn7","doc":{"driver":{"name":"PyMongo","version":"3.11.0"},"os":{"type":"Linux","name":"Linux","architecture":"x86_64","version":"5.10.104-linuxkit"},"platform":"CPython 3.7.12.final.0"}}}
^CGracefully stopping... (press Ctrl+C again to force)
[+] Running 3/3
 ⠿ Container em-server-multi-tier-cronjob-web-server-1       Stopped      10.1s
 ⠿ Container em-server-multi-tier-cronjob-analysis-server-1  Stopped      10.1s
 ⠿ Container em-server-multi-tier-cronjob-db-1               Stopped       0.2s
canceled

@shankari
Copy link
Contributor

shankari commented Sep 21, 2022

@aGuttman Thanks for getting this done.
Can you commit these changes to the docker repo, and to the internal emissionlhd repo?

Changed start_script.sh in webapp and start_cron.sh in analysis to use the renamed and relocated supplemental docker scripts .docker/setup_config.sh and .docker/docker_start_script.sh where needed. Made additional small adjustments to start_cron.sh to account for directory structure.

I think we should be ready to merge everything after that

Please link the new PRs (at least e-mission-docker) to the related issue e-mission/e-mission-docs#752 for the record.

@aGuttman
Copy link
Contributor Author

@shankari
I hadn't realized that I should be thinking about emissionlhd as well. I can see it's similar but not the same. I will make the changes there and test again before committing, making a PR in that repo.

@shankari
Copy link
Contributor

@aGuttman emissionlhd includes the changes required to deploy on AWS as part of the NREL environment. It is almost the same, but not quite. Filed e-mission/e-mission-docs#791 (comment) to see if we can merge the changes to we can avoid re-testing in the future.

@aGuttman
Copy link
Contributor Author

Testing changes with emissionlhd has been a little frustrating.

First thing, nginx is being used from an image being hosted on the AWS. I can't access it directly, so I thought maybe I should run this from EC2. On EC2, I'm having trouble getting docker compose to work. Just run it on my machine, change nginx to just use the latest public image. Fine.

Error from webapp. It also wants to pull an image, but has a build option as well. Comment out the image to force it to build. Problem with the Dockerfile, wget https...asc | apt-key add step doesn't like the vpn. Get that to work. We are not actually exposing a port, so hard to see that it's running correctly. Expose port in docker-compose.yml, I can see the dashboard webpage.

analysis is all commented out in the compose yml. I can uncomment it, but at this point I'm confused if I'm still testing anything. I can change everything in emissionlhd to look like the e-mission-docker repo and it will work, but I already know that it works that way. What am I trying to see from testing it here?

@shankari
Copy link
Contributor

I think you can make the same changes as you did to the e-mission-docker repo and then test emissionlhd by deploying it on staging using jenkins.

@aGuttman
Copy link
Contributor Author

emissionlhd PR created.

Copy link
Contributor

@shankari shankari left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, saw some other issues that I wanted to understand/ensure were tested before merging

Dockerfile Show resolved Hide resolved
.docker/docker_start_script.sh Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants